1. Field of the Invention
The invention relates to monitoring of operations on a computer and more particularly relates to adaptive monitoring of operations on a computer.
2. Description of the Related Art
The use of client-server systems has risen dramatically in recent years. Systems typically include client computers in communication with one or more servers through a computer network. Other devices such as printers, scanners, and storage server systems may also be accessed from the network. A critical process for a client-server system is asynchronous polling of a monitored system. Typically, the client nodes poll the server at regular intervals and the server returns information for each operation such as the current status of the operation, number of items that have been processed, percentage completion, estimated remaining time to completion, etc. The polling and the monitored systems may take many forms. For example the polling system maybe a client computer or a server. The monitored system may be a server or a data storage system.
Typically, the polling system determines the polling interval. A regular polling interval may be too infrequent so that there is an unacceptable delay before the polling system detects a status change for the operation being monitored. If polling is done frequently, operation completion is detected quickly, but network traffic is increased and the system is slowed due to resources required to respond to the frequent polling requests.
An adaptive polling method is a more efficient use of computer resources. An adaptive polling method could slow polling during periods of inactivity and increase polling near operation completion and other times of computer activity. Typical adaptive polling methods have increased computer efficiency, but are inadequate since they base the polling interval change on server activity.
In periods of inactivity, a polling interval may be long. Once server activity increases, the polling interval decreases. Once server activity is reduced, the polling interval is extended. The drawback of this type of system is that the polling interval adjustment is always lagging server activity since the polling interval is not changed until after the activity level of the server has changed for a time. If the polling time is set to be a long period, and a server operation completes or reaches a next phase, the polling system continues to wait until the next scheduled polling time and cannot act any sooner since the polling system does not yet know of the status change. Conversely, if a server event occurs and the server once again goes into a period of inactivity, the polling system continues to poll frequently for a time until enough of a trend is identified to slow the polling. This wastes computer resources.
What is needed is a process, apparatus, and system that adaptively monitors remote operations and adjusts the polling interval based on a signal sent from the remote operation. It would be a further advantage if, such a process, apparatus, and system would respond to a polling request by estimating the time of completion of an operation-related event and then sending to the polling system a next polling time based on the estimated operation-related event as well as any information being requested by the polling system.